From: Andreas Schwab Date: Fri, 23 Sep 2011 09:56:55 +0000 (+0200) Subject: * src/emacs.c (Fkill_emacs): In noninteractive mode exit X-Git-Tag: archive/raspbian/1%29.2+1-2+rpi1~1^2~324^2~2161 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:///%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:/?a=commitdiff_plain;h=10054c2ca1393ebed2f937483e77bab3609680a4;p=emacs.git * src/emacs.c (Fkill_emacs): In noninteractive mode exit non-successfully if a write error occurred on stdout. (Bug#9574) --- diff --git a/src/ChangeLog b/src/ChangeLog index 9c011ec3ade..06675938002 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2011-09-23 Andreas Schwab + + * emacs.c (Fkill_emacs): In noninteractive mode exit + non-successfully if a write error occurred on stdout. (Bug#9574) + 2011-09-21 Eli Zaretskii * xdisp.c (pop_it): Allow it->object that is a cons cell to pass diff --git a/src/emacs.c b/src/emacs.c index 321e7919c93..0a684d4423c 100644 --- a/src/emacs.c +++ b/src/emacs.c @@ -1993,6 +1993,7 @@ all of which are called before Emacs is actually killed. */) { struct gcpro gcpro1; Lisp_Object hook; + int exit_code; GCPRO1 (arg); @@ -2017,7 +2018,10 @@ all of which are called before Emacs is actually killed. */) if (STRINGP (Vauto_save_list_file_name)) unlink (SSDATA (Vauto_save_list_file_name)); - exit (INTEGERP (arg) ? XINT (arg) : EXIT_SUCCESS); + exit_code = EXIT_SUCCESS; + if (noninteractive && fflush (stdout)) + exit_code = EXIT_FAILURE; + exit (INTEGERP (arg) ? XINT (arg) : exit_code); }